﻿using Persistencia;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using UI.Views;
using System.IO;
using UI.Views.Configuracaoes;
using System.Collections;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
using Dlls;
using MySql.Data.MySqlClient;
using UI.Views.Validacao;
using UI.Views.Cadastros;
namespace UI
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        private MySqlCommand MysqlCommand;
        private MySqlConnection MysqlConnection;
        private MySqlDataAdapter MysqlDataAdapter;
        private static string dataMember;
        private DataSet ds;
        private Empresa empresa;
        private EmpresasDLL empresaDll;
        private Context contexto;
        private SqlCommand command;
        private static SqlConnection conn;
        private SqlDataAdapter adapter;
        private int lastCodigo;
        private string ArquivoBanco;
        public static string connectionString = null;
        private static string CNPJEMPRESA;

        public App()
        {
            ArquivoBanco = Directory.GetCurrentDirectory() + @"\Configuracao.txt";
            if (File.Exists(ArquivoBanco))
            {
                contexto = new Context();
              //  if (InternetConecatada() == true)
             //   {
                    empresa = new Empresa();
                    empresaDll = new EmpresasDLL();
#if !DEBUG
                    empresa = empresaDll.ReturnEmpresa();
                    if (empresa != null)
                    {
                        CNPJEMPRESA = empresa.CNPJ.ToString();
                        DataSet Licenca = Liberacao(CNPJEMPRESA);

                        if (Licenca.Tables["Licenca"].Rows.Count > 0)
                        {
                            MainWindow main = new MainWindow();
                            main.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Licença não está ativa , favor entrar em contato com suporte (27) 9 81667827 / lazaro.shev@gmail.com ");
                            frmValidacao frm = new frmValidacao();
                            frm.ShowDialog();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Preencha os dados da sua empresa para continuar ");
                        frmCadastrarEmpresa frm = new frmCadastrarEmpresa(0);
                        frm.ShowDialog();
                    }
#endif
                    MainWindow main = new MainWindow();
                    main.ShowDialog();

                //}
                //else
                //{
                //    MessageBox.Show("Não uma conexão com a internet");
                //}
            }
            else
            {
                frmConfiguracoes frm = new frmConfiguracoes();
                frm.ShowDialog();
            }
        
        }
        //Método da API
        [DllImport("wininet.dll")]
        private extern static Boolean InternetGetConnectedState(out int Description, int ReservedValue);

        // Um método que verifica se esta conectado
        public Boolean InternetConecatada()
        {
            int Description;
            return InternetGetConnectedState(out Description, 0);
        }
        public DataSet Liberacao(string CNPJ)
        {
            try
            {
                ds = new DataSet();
                MysqlConnection = new MySqlConnection("Server=mysql.expertsistemas.com.br;Port=3306;Database=exper194_lazaro;Uid=exper194_lazaro;Pwd=@@3412064;");
                MysqlConnection.Open();
                MysqlCommand = new MySqlCommand("select * from Licenca where cnpj=" + CNPJ, MysqlConnection);
                MysqlDataAdapter = new MySqlDataAdapter(MysqlCommand);
                MysqlDataAdapter.Fill(ds, "Licenca");
                MysqlCommand.ExecuteNonQuery();
                // MysqlConnection.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Não foi possivel  estabelecer uma conexão com o Servidor de Licença, tente novamente mais tarde");
            }
            return ds;
        }

        private void InicializarAplicacao(object sender, StartupEventArgs e)
        {
            
        }
    }
}

